// 引入库
const Koa = require('koa')
const serve = require('koa-static')
const { historyApiFallback } = require('koa2-connect-history-api-fallback')
const proxy = require('koa2-proxy-middleware')

// 创建服务器
const app = new Koa()

// 处理生产环境 3333 的代理转发
app.use(proxy({
  // targets(复数)是一个对象里面指定需要配置的转发属性
  targets: {
    '/prod-api/(.*)': {
      target: 'http://ihrm-java.itheima.net',
      changeOrigin: true,
      pathRewrite: {
        '/prod-api': '/api'
      }
    }
  }
}))

// 处理 history 模式带来的刷新 not found 问题
// 其实就是将不认识的地址导向 index.html
app.use(historyApiFallback())

// 静态文件中间件
app.use(serve(__dirname+'/public'))

// 运行服务器监听机器的端口
app.listen(3333, ()=>{
  console.log('服务器开启成功');
  console.log('http://localhost:3333');
})